package cn.cttic.order.api.domain.vo;

import cn.cttic.order.api.domain.BaseInstallOrderProcess;
import cn.cttic.resource.api.domain.RemoteFile;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;


/**
 * 安装数据视图对象 base_install_order_process
 *
 * @author Times.Studio
 * @date 2024-09-17
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = BaseInstallOrderProcess.class)
public class BaseInstallOrderProcessVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 标识
     */
    @ExcelProperty(value = "标识")
    private String id;

    /**
     * 安装订单
     */
    @ExcelProperty(value = "安装订单")
    private String installOrderId;

    /**
     * 工序分组名称
     */
    @ExcelProperty(value = "工序分组名称")
    private String stepGroupName;

    /**
     * 工序序号
     */
    @ExcelProperty(value = "工序序号")
    private Integer stepIndex;

    /**
     * 工序名称
     */
    @ExcelProperty(value = "工序名称")
    private String stepName;

    /**
     * 安装步骤ID
     */
    @ExcelProperty(value = "安装步骤ID")
    private String stepId;

    /**
     * 步骤文件ID
     */
    @ExcelProperty(value = "步骤文件ID")
    private String ossId;

    /**
     * 步骤文件地址
     */
    @ExcelProperty(value = "步骤文件地址")
    private String ossUrl;

    /**
     * 步骤文件ID
     */
    @ExcelProperty(value = "步骤文件ID")
    private String fixOssId;

    /**
     * 步骤文件地址
     */
    @ExcelProperty(value = "步骤文件地址")
    private String fixOssUrl;

    /**
     * 内业数据类型
     */
    @ExcelProperty(value = "内业数据类型")
    private String interiorDataType;

    /**
     * 内页数据
     */
    @ExcelProperty(value = "内页数据")
    private String interiorData;

    /**
     * 审核状态
     */
    @ExcelProperty(value = "审核状态")
    private Integer auditStatus;

    /**
     * 审核人员
     */
    @ExcelProperty(value = "审核人员")
    private String auditBy;

    /**
     * 审核意见
     */
    @ExcelProperty(value = "审核意见")
    private String auditReason;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 文件列表
     */
    List<RemoteFile> ossList;

}
